Shared memory is an area of a memory that is accessible to all entities participating in a data communication, for facilitating the data communication between those entities. Simply stated, one entity writes data to the shared memory for the other entity to read. Using shared memory avoids or minimizes the need for data replication from system to system or memory to memory for the purposes of communicating that data from one entity to another.
Shared memory is a commonly used method for efficient database transactions between a database server and a database client. For example, in response to a query from a database client, a database server writes data packets to the shared memory. The database client reads the data packet from the shared memory. A database client can similarly write the query to the shared memory and the database server reads the query from the shared memory to execute against the database.
The data packets written to the shared memory that is used by a database server and a database client are constructed according to a suitable database protocol employed by the database implementation. Accordingly, the data packets are database protocol packets.